#pragma once
#include<list>
#include"subject.h"


class ConcreteSubject :public Subject
{
public:
	_declspec(dllexport) void AddObserver(Observer* pObserver);
	_declspec(dllexport) void DeleteObserver(Observer* pObserver);
	_declspec(dllexport) void NotifyObserver();
	_declspec(dllexport) void SetState(int state);
private:
	std::list<Observer*> mObserverList;
	int iState = 0;
};